﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Negocio.Generico;
using Negocio.View;
using System.Data;

namespace PresentacionWeb
{
    public partial class ListadoAsignaturas : System.Web.UI.Page
    {
        private PersonaDTO tokenUsuario = null;
        private bool consultaNotas = false;

        #region Incializacion

        protected void Page_Load(object sender, EventArgs e)
        {
     

                //Recargamos el listado de asignaturas
                if (Session["tokenUsuario"] != null)
                {
                    tokenUsuario = (PersonaDTO)Session["tokenUsuario"];
                    RecargaGrid();

                    consultaNotas=Session["consultaNotas"]!=null&&(bool)Session["consultaNotas"]==true?true:false;
                }

            
        }

        #endregion

        #region Funciones privadas



        private void RecargaGrid()
        {
            AlumnoAsignaturaDTO filtro = new AlumnoAsignaturaDTO();
            filtro.CoAlumno = tokenUsuario.CoAlumno;
            RecargaGrid(filtro);
        }

        /// <summary>
        /// Método que recarga el grid por completo 
        /// </summary>
        private void RecargaGrid(AlumnoAsignaturaDTO filtro)
        {
            try
            {
                AlumnoAsignaturaView vista = AlumnoAsignaturaView.GetInstance();
                AlumnoAsignaturaDTO dto;
                if (filtro == null)
                {
                    dto = new AlumnoAsignaturaDTO();
                }
                else
                {
                    dto = filtro;
                }
                this.grdAsignaturas.DataSource = null;
                DataTable dt = vista.GetViewAlumnosAsignatura(dto).Table;
                this.grdAsignaturas.DataSource = dt;
                Page.DataBind();
                //this.grdAsignaturas.Refresh();
            }
            catch (Exception ex)
            {
                throw new Exception(ex.ToString());
            }
        }

        #endregion

    
        protected void CoAsignatura_CheckedChanged(object sender, EventArgs e)
        {
            foreach (GridViewRow row in grdAsignaturas.Rows)
            {
                RadioButton result = (RadioButton)row.FindControl("rbtnCoAsignatura");
                if (result.Checked)
                {
                    Session.Add("CodigoAsignatura",Int32.Parse(grdAsignaturas.Rows[row.RowIndex].Cells[3].Text));
                    Response.Redirect("ListadoRenglones.aspx");

                }
            }
        }

        protected void grdAsignaturas_SelectedIndexChanged1(object sender, EventArgs e)
        {


            if (grdAsignaturas.SelectedRow != null)
            {
                Session["CodigoAsignatura"] = Int32.Parse(grdAsignaturas.SelectedRow.Cells[4].Text);
                if (this.tokenUsuario != null)
                {
                    Session["tokenUsuario"] = (PersonaDTO)this.tokenUsuario;
                }
                if (!consultaNotas)
                {
                    Response.Redirect("ListadoRenglones.aspx");
                }
                else 
                {
                    Response.Redirect("ListadoNotas.aspx");
                }
            }
        }

        protected void imgBtnIr_Click(object sender, ImageClickEventArgs e)
        {
            if (grdAsignaturas.SelectedRow != null) 
            {
                Session["CodigoAsignatura"]=Int32.Parse(grdAsignaturas.SelectedRow.Cells[4].Text);
                Response.Redirect("ListadoRenglones.aspx");
            }
        }
    }
}